﻿using DataModels.Enums.NeighborCircle;
using SqlSugar;
using static DataModels.Enums.GeneralEnum;

namespace DataModels.Entities.NeighborCircle
{
    /// <summary>
    /// 邻里圈子论坛帖子主表
    /// </summary>
    [SugarTable]
    public class NeighborCircleForumPost
    {
        [SugarColumn(IsPrimaryKey = true)]
        public Guid UUID { get; set; } = Guid.NewGuid();

        /// <summary>
        /// 小区UUID
        /// </summary>
        public Guid ProjectUUID { get; set; }

        /// <summary>
        /// 分类
        /// </summary>
        public Guid? NeighborCircleForumPostCategoryUUID { get; set; }

        /// <summary>
        /// 小分类
        /// </summary>
        public Guid? NeighborCircleForumPostCategorySubUUID { get; set; }

        /// <summary>
        /// 话题
        /// </summary>
        public Guid? NeighborCircleForumPostTalkUUID { get; set; }

        /// <summary>
        /// 活动
        /// </summary>
        public Guid? NeighborCircleForumPostActivitiesUUID { get; set; }

        /// <summary>
        /// 标题
        /// </summary>
        public string? Title { get; set; }

        /// <summary>
        /// 内容
        /// </summary>
        public string Content { get; set; }

        /// <summary>
        /// 分享次数
        /// </summary>
        public int ShareCount { get; set; } = 0;

        /// <summary>
        /// 点赞次数
        /// </summary>
        public int LikeCount { get; set; } = 0;

        /// <summary>
        /// 评论次数
        /// </summary>
        public int CommentCount { get; set; } = 0;

        /// <summary>
        /// 帖子状态
        /// </summary>
        public NeighborCircleForumPostStatus PostStatus { get; set; } = NeighborCircleForumPostStatus.None;

        /// <summary>
        /// 帖子类型
        /// </summary>
        public NeighborCircleForumPostType PostType { get; set; } = NeighborCircleForumPostType.Post;

        /// <summary>
        /// 是否推荐
        /// </summary>
        public Status IsRecommend { get; set; } = Status.Disable;

        /// <summary>
        /// 经度
        /// </summary>
        public decimal? Longitude { get; set; }

        /// <summary>
        /// 纬度
        /// </summary>
        public decimal? Latitude { get; set; }

        /// <summary>
        /// 删除标记
        /// </summary>
        public Status IsDeleted { get; set; } = Status.Disable;

        public DateTime CreateTime { get; set; } = DateTime.Now;
        public DateTime? UpdateTime { get; set; }

        public Guid CreateUserUUID { get; set; }

        public Guid? UpdateUserUUID { get; set; }
    }
}
